blkdev.h, ll_rw_blk.c:
Make block-device layer a bit more robust for non-existsent devices.
*/
do {
q = blk_get_queue(bh->b_rdev);
- if (!q) {
+ if (!q || !q->make_request_fn) {
printk(KERN_ERR
"generic_make_request: Trying to access "
"nonexistent block-device %s (%ld)\n",
static inline void buffer_IO_error(struct buffer_head * bh)
{
- mark_buffer_clean(bh);
- /*
- * b_end_io has to clear the BH_Uptodate bitflag in the error case!
- */
- bh->b_end_io(bh, 0);
+ extern void end_block_io_op(struct buffer_head *bh);
+
+ mark_buffer_clean(bh);
+ /*
+ * b_end_io has to clear the BH_Uptodate bitflag in the error case!
+ */
+ bh->b_end_io(bh, 0);
+ /* XXX KAF */
+ end_block_io_op(bh);
}
/**** XXX END OF BUFFER_HEAD STUFF XXXX ****/